fonksiyon gaspı ne demek?

Fonksiyon Gaspı (Function Overriding)

Fonksiyon gaspı, nesne yönelimli programlamada (OOP) bir alt sınıfın (child class/subclass) üst sınıfından (parent class/superclass) miras aldığı bir fonksiyonu, kendi ihtiyaçlarına göre yeniden tanımlaması işlemidir. Bu sayede, alt sınıf, üst sınıfın genel davranışını korurken, belirli durumlarda farklı bir davranış sergileyebilir.

Temel Kavramlar:

  • Miras (Inheritance): Alt sınıf, üst sınıfın özelliklerini ve davranışlarını otomatik olarak devralır. (Miras)
  • Polimorfizm (Polymorphism): Aynı isimli fonksiyonların farklı sınıflarda farklı davranışlar sergileyebilmesidir. Fonksiyon gaspı, polimorfizmin önemli bir örneğidir. (Polimorfizm)
  • Üst Sınıf (Superclass/Parent Class): Miras veren sınıf.
  • Alt Sınıf (Subclass/Child Class): Miras alan sınıf.

Fonksiyon Gaspının İşleyişi:

  1. Alt sınıf, üst sınıfta tanımlı olan bir fonksiyonun aynısını (isim, parametreler) kendi içinde tanımlar.
  2. Alt sınıfın nesnesi üzerinden bu fonksiyon çağrıldığında, üst sınıfın fonksiyonu yerine alt sınıfta tanımlanan fonksiyon çalışır.
  3. Alt sınıfın fonksiyonu içinde, üst sınıfın fonksiyonuna erişmek gerekirse, genellikle super() anahtar kelimesi kullanılır. Bu, üst sınıfın fonksiyonunun doğrudan çağrılmasını sağlar. (Super())

Fonksiyon Gaspının Faydaları:

  • Esneklik: Alt sınıfların, üst sınıfların davranışlarını özelleştirmesine olanak tanır.
  • Kodun Yeniden Kullanımı: Üst sınıftaki genel mantık korunurken, yalnızca belirli kısımlar değiştirilebilir.
  • Bakım Kolaylığı: Değişiklikler, yalnızca ilgili alt sınıfta yapılır, üst sınıftaki kod etkilenmez.

Örnek (Python):

class Hayvan:
    def ses_çıkar(self):
        print("Genel hayvan sesi")

class Kedi(Hayvan):
    def ses_çıkar(self):
        print("Miyav!")

hayvan = Hayvan()
kedi = Kedi()

hayvan.ses_çıkar()  # Output: Genel hayvan sesi
kedi.ses_çıkar()    # Output: Miyav!

Bu örnekte, Kedi sınıfı, Hayvan sınıfının ses_çıkar fonksiyonunu gasp etmiştir. Kedi nesnesi üzerinden ses_çıkar fonksiyonu çağrıldığında, "Miyav!" çıktısı alınır.

Kategoriler